// ----------------------------------
// RSDK Project: Sonic 1/Sonic 2
// Script Description: Emeralds Object
// Script Author: Christian Whitehead/Simon Thomley
// Unpacked by Rubberduckycooly's script unpacker
// ----------------------------------

//-------Aliases-------//
private alias 49 : TYPE_EMERALDS


// Static Values

// Tables
private table Emeralds_table25
	0, 0, 85, 171, 256, 341, 427
end table

private table Emeralds_table26
	0, 0, 73, 146, 219, 293, 365, 438
end table

event ObjectMain
	switch object.state
	case 0
		object.ypos -= 0x10000
		object.value0++
		if object.value0 == 112
			object.value0 = 0
			object.state++
		end if
		break
	case 1
		if object.speed == 512
			object[0].state++
		end if
		if object[0].state == 9
			object.type = TypeName[Blank Object]
		end if
		break
	end switch
	if object.value1 < 0x1000
		object.value1 += 16
	end if
	if object.speed < 0x400
		object.speed += 2
	end if
	object.angle += object.speed
	object.rotation = object.angle
	object.rotation >>= 4
end event


event ObjectDraw
	if specialStage.emeralds == 63
		temp0 = 6
	else
		temp0 = 7
	end if
	while temp0 > 0
		if specialStage.emeralds == 63
			GetTableValue(temp3, temp0, Emeralds_table25)
		else
			GetTableValue(temp3, temp0, Emeralds_table26)
		end if
		temp3 += object.rotation
		Cos(temp1, temp3)
		temp1 *= object.value1
		temp1 += object.xpos
		Sin(temp2, temp3)
		temp2 *= object.value1
		temp2 += object.ypos
		DrawSpriteXY(temp0, temp1, temp2)
		temp0--
	loop
end event


event ObjectStartup
	LoadSpriteSheet("Ending/Objects.gif")
	SpriteFrame(-6, -6, 12, 12, 1, 1)
	SpriteFrame(-6, -6, 12, 12, 14, 1)
	SpriteFrame(-6, -6, 12, 12, 27, 1)
	//if saved.superStates == 0
		SpriteFrame(-6, -6, 12, 12, 40, 1)
	//else
	//	SpriteFrame(-6, -6, 12, 12, 105, 1)
	//end if
	SpriteFrame(-6, -6, 12, 12, 53, 1)
	SpriteFrame(-6, -6, 12, 12, 66, 1)
	SpriteFrame(-6, -6, 12, 12, 79, 1)
	SpriteFrame(-6, -6, 12, 12, 92, 1)
end event

event RSDKDraw
	DrawSprite(0)
end event

event RSDKLoad
	LoadSpriteSheet("Global/Display.gif")
	SpriteFrame(-16, -16, 32, 32, 1, 143)
end event
